package com.tedu.api.thread;

/**
 * 匿名内部类方式：Thread创建模式、Runnable创建模式
 * JavaOOP---封装---内部类：成员内部类、方法内部类、匿名内部类、静态内部类
 *
 * 匿名内部类：针对接口以及抽象类，使用匿名内部类创建
 *           【只实例化[创建]一次对象】
 * 语法：对象  引用=new  对象(){匿名内部类};
 */
public class TR {
    public static void main(String[] args) {
        //1.使用匿名内部类：完成Thread类创建
        /*Thread t1=new Thread(){
            //  匿名内部类--直接调用方法
            public void run() {
                for(int i=0;i<1000;i++){
                    System.out.println("One楞One楞");
                }
            }
        };*/
        //java 封装线程---Thread t1=new Thread();  t1.start();
        //     Thread  ---内嵌入 Runnable  -> new Runnable
        //     Thread优点：使用方便，但是结构不适合线程创建
        Thread t1=new Thread(()->{for (int i=0;i<1000;i++){
            System.out.println("One楞One楞");
        }});
        //2.  启动  匿名内部类--完成线程创建
        t1.start();

        //**************************************************************************************************************
        //2.使用匿名内部类--完成Runnable接口写法
        /*Thread t2=new Thread(new Runnable() {
            public void run() {
                for(int i=0;i<1000;i++){
                    System.out.println("Runnable匿名内部类写法");
                }
            }
        });*/
        //使用Lambda表达式  Runnable真正线程操作接口--功能run方法
        Runnable r=()->{for(int i=0;i<1000;i++){
            System.out.println("Runnable匿名内部类写法");
        }};
        Thread t2=new Thread(r);
        //3.启动线程
        t2.start();
    }
}
